Hardware
RP2040-ESP32C3 development board designed with 1.90" LCD which has 8 bits parallel connection to RP2040.
More info and details about the LCD can be seen in the following link.
The LCD FPC uses 0.3mm pitch connector from Molex with 39 pins.
Pinout
LCD_PIN | RP2040 | Details |
---|---|---|
LCD_RESET | GPIO23 | LCD reset signal |
LCD_DC | GPIO9 | LCD data/command selection |
LCD_RD | GPIO10 | LCD read signal |
LCD_WR | GPIO8 | LCD write signal |
LCD_SPI_IO0 | GPIO0 | LCD parallel data 0 |
LCD_SPI_IO1 | GPIO1 | LCD parallel data 1 |
LCD_SPI_IO2 | GPIO2 | LCD parallel data 2 |
LCD_SPI_IO3 | GPIO3 | LCD parallel data 3 |
LCD_SPI_IO4 | GPIO4 | LCD parallel data 4 |
LCD_SPI_IO5 | GPIO5 | LCD parallel data 5 |
LCD_SPI_IO6 | GPIO6 | LCD parallel data 6 |
LCD_SPI_IO7 | GPIO7 | LCD parallel data 7 |
LCD_BL_PWM | GPIO28 | LCD backlight control |
Backlight
The backlight controller is AW9364DNR which can control 4 parallel LEDs with a number of pulse
control for brightness dimming.
Alternative LCD Connector P1
In case you don't want to use 1.90" LCD, we have placed another connector on the board with 2.54mm pitch if you want to connect your LCD. Alternatively you can use these pinouts for another purpose.
Software
For a quick start in developing on our development board, please refer to our sample code for LCD display. It will provide you with a convenient and efficient way to begin your development process.
LCD Parameters
Color Mode
The COLMOD (3Ah)
command is used to configure the Interface Pixel Format of a display. It determines how colors are represented and displayed on the screen.
The chosen color format for this development board is the high-speed RGB565 interface. It supports a palette of 65,536 colors, delivering both vibrant and visually appealing options with exceptional speed and efficiency. Additionally, you have the flexibility to select the RGB666 18-bit format, which offers an even broader range of captivating colors. However, if speed is a priority, the RGB565 interface provides accelerated communication, ensuring swift and seamless performance for your applications.
// COLMOD (3Ah): Interface Pixel Format
// - RGB interface color format =65K of RGB interface
// - Control interface color format = 16bit/pixel
sendLcdCommand(0x3a, (uint8_t[]){0x05}, 1);
Display Orientation
The MADCTL (36h)
command, also known as Memory Data Access Control, is used to configure the display's memory access and data order. It provides several options for controlling how the display retrieves and organizes data.
The register for Memory Data Access Control (MADCTL) can be customized to suit your specific display orientation requirements. This flexibility allows you to adapt the display to different orientation scenarios, ensuring that your content is rendered correctly and aligned according to your specific needs.
// MADCTL (36h): Memory Data Access Control
// - Page Address Order = Bottom to Top
// - Column Address Order = Right to Left
// - Page/Column Order = Normal Mode
// - Line Address Order = LCD Refresh Top to Bottom
// - RGB/BGR Order = RGB
// - Display Data Latch Data Order = LCD Refresh Left to Right
sendLcdCommand(0x36, (uint8_t[]){0xC0}, 1);
Image Customization
If you wish to use your own images with our sample code,
-
Create/scale your image to 170x320 pixels.
-
Use the software provided in the link to generate image data in RGB565 format. This will ensure compatibility and optimal display of your images on the development board.
LVGL Usage
The development board we offer is compatible with the LVGL library, a powerful graphics library for embedded systems. If you wish to create your own projects using LVGL, we recommend referring to the v8.2 documents. These documents provide detailed information and guidelines on utilizing LVGL effectively for your development needs. Whether you're looking to create engaging user interfaces or implement advanced graphical features, the LVGL library combined with our development board offers a comprehensive solution for your project requirements.
Try out our sample code.